/* 최소,최대길이 및 빈값 체크 */
/***********************************
	obj - 폼 이름, 
	MinLen - 최소길이(0으로 설정시 체크 제외), 
	MaxLen -  경고창 유무(0으로 설정시 무한 입력),
	FieldName - 필드명
***********************************/
function CheckStrLen(obj, MinLen, MaxLen, FieldName) {
	var i, len=0;
	if (typeof obj == "undefined") 
		return true;
	var s = obj.value.trim();

	for(i=0;i < s.length; i++) {
		(s.charCodeAt(i) > 255)? len+=2:len++;
	}	

	if (MaxLen > 0 && MaxLen < len) {
		if (FieldName != "") alert(FieldName + "에 한글 " + MaxLen/2 + "자(영문 " + MaxLen + "자) 이상 입력하실 수 없습니다");
		obj.focus();
		return false;
	}
	else if (len == 0 && MinLen > 0) {
		if (FieldName != "") alert(FieldName + "을 입력하세요.");
		obj.focus();
		return false;
	}
	else if (MinLen > 0 && MinLen > len) {
		if (FieldName != "") alert(FieldName + "에 한글 " + MinLen/2 + "자(영문 " + MinLen + "자) 이하 입력하실 수 없습니다");
		obj.focus();
		return false;	
	}
	return true;
}

function CheckEngStrLen(obj, MinLen, MaxLen, FieldName) {
	var i, len=0;
	if (typeof obj == "undefined") 
		return true;
	var s = obj.value.trim();

	for(i=0;i < s.length; i++) {
		(s.charCodeAt(i) > 255)? len+=2:len++;
	}	

	if (MaxLen > 0 && MaxLen < len) {
		if (FieldName != "") alert(FieldName + "에 영문과 숫자 조합 " + MaxLen + "자 이상 입력하실 수 없습니다");
		//obj.focus();
		return false;
	}
	else if (len == 0 && MinLen > 0) {
		if (FieldName != "") alert(FieldName + "을 입력하세요.");
		//obj.focus();
		return false;
	}
	else if (MinLen > 0 && MinLen > len) {
		if (FieldName != "") alert(FieldName + "에 영문과숫자 조합 " + MaxLen + "자 이하 입력하실 수 없습니다");
		//obj.focus();
		return false;	
	}
	return true;
}

/* 숫자 체크 */
function IsNum(obj) {
	var s = obj.value.trim();
	if(!isNaN(s)) return true;
	else return false;
}

/* 범위 체크 */
/***********************************
	obj - 폼 이름, 
	rs - 범위 시작 값, 
	re - 범위 끝 값
***********************************/
function InRange(obj, rs, re) {
	var s = obj.value.trim();

	if(s!="") {
		s = parseInt(s);
		rs = parseInt(rs);
		re = parseInt(re);
		if(!isNaN(rs) && !isNaN(re)) {
			if(s>rs && s<re) return true;
			else return false;
		}
		else if(!isNaN(rs)) {
			if(s>rs) return true;
			else return false;
		}
		else if(!isNaN(re)) {
			if(s<re) return true;
			else return false;
		}
	}
	return true;
}

/* 배열 폼 체크 - 리턴값은 체크된 갯수를 반환 */
/***********************************
	obj - 폼 이름, 
	Type - 체크할 객체 타입, 
	debug -  경고창 유무,
	FieldName - 필드명,
	except - 전체선택 값(체크 갯수에서 제외)
***********************************/
var sval = ""; // 선택된 값
function ElementCheck(obj, Type, debug, FieldName, except) {
	var c = 0;
	if(typeof debug == 'undefined') debug = 0;
	if(typeof FieldName == 'undefined') FieldName = "";
	if(typeof except == 'undefined') except = "";
	for(var i=0; i<obj.elements.length; i++) {		
		if(obj.elements[i].type == Type && obj.elements[i].value != except && obj.elements[i].checked && !obj.elements[i].disabled) {
			c++;
			sval = obj.elements[i].value;
		}
	}
	if(c == 0) {
		if(debug) alert(FieldName+"을(를) 선택해 주십시요.");
	}
	return c;
}

/* 배열 폼 중 선택된 값 리턴 - 리턴값은 제일 처음 값만 리턴 */
/***********************************
	obj - 폼 이름, 
	Type - 체크할 객체 타입, 
	except - 전체선택 값(체크 갯수에서 제외)
***********************************/
var sval = ""; // 선택된 값
function ElementCheckValue(obj, Type, except) {
	if(typeof except == 'undefined') except = "";
	for(var i=0; i<obj.elements.length; i++) {		
		if(obj.elements[i].type == Type && obj.elements[i].value != except && obj.elements[i].checked && !obj.elements[i].disabled) {
			sval = obj.elements[i].value;
			return sval;
		}
	}
}

/* 배열 선택, 해제*/
/***********************************
	obj - 폼 이름, 
	Type - 체크할 객체 타입
***********************************/
var is_all = false; // 현재 전체 선택 유무

function ElementAllCheck(obj, Type) {
	for(var i=0; i<obj.elements.length; i++) {
		if(obj.elements[i].type == Type && !obj.elements[i].disabled) {
			obj.elements[i].checked = !is_all;
		}
	}
	is_all = !is_all;
}

/* 공백 제거 */
String.prototype.trim = function() {
		// Use a regular expression to replace leading and trailing 
		// spaces with the empty string
		return this.replace(/(^\s*)|(\s*$)/g, "");
}

/* 창 가운데로 띄우기*/
/***********************************
	url - 새창 경로, 
	wname - 새창 이름,
	wopt - 새창 옵션
***********************************/
function PopCenter(url, wname, wopt) {
	var newopt = "", wHeight = 0, wWidth = 0;
	if (wopt != undefined) {
		var woptlist = wopt.replace(/ /g, "").split(",");
		for (var i in woptlist) {
			if (woptlist[i].match(/^height=/i)) {
				wHeight = parseInt(woptlist[i].substr(7),10);
				if (!isNaN(wHeight)) newopt += "top=" + Math.floor((screen.availHeight - wHeight) / 2) + ",";
			}
			if (woptlist[i].match(/^width=/i)) {
				wWidth = parseInt(woptlist[i].substr(6),10);
				if (!isNaN(wWidth)) newopt += "left=" + Math.floor((screen.availWidth - wWidth) / 2) + ",";
			}
		}
	}
	return window.open(url, wname,wopt+" ,resizable=yes" );//newopt + wopt
} 
